/**
 * 版权所有（c）2021. 上海海鼎信息工程股份有限公司，保留所有权利
 */
package com.lovely602.design.behavior.state;

/**
 * 环境
 *
 * @author lizhixing
 */
public class Context {

  private State state;

  /**
   * 定义环境类的初始状态
   */
  public Context() {
    this.state = new ConcreteStateA();
  }

  /**
   * 设置新状态
   *
   * @param state
   *     状态
   */
  public void setState(State state) {
    this.state = state;
  }

  /**
   * 读取状态
   *
   * @return 状态
   */
  public State getState() {
    return (state);
  }

  /**
   * 对请求做处理
   */
  public void Handle() {
    state.handle(this);
  }

}
